package com.anti.generate.modular.service;

import com.anti.generate.modular.entity.CodeGenerate;
import com.anti.generate.modular.param.CodeGenerateParam;
import com.anti.generate.modular.result.InformationResult;
import com.anti.jdbc.support.page.PageParam;
import com.anti.jdbc.support.page.PageResult;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @Description TODO
 * @Author anTi
 * @Date 2021-3-22
 */
public interface CodeGenerateService {
    /**
     * 查询代码生成基础配置
     */
    PageResult page(PageParam pageParam,CodeGenerateParam codeGenerateParam);

    /**
     * 添加查询代码生成基础配置
     */
    void add(CodeGenerateParam codeGenerateParam);

    /**
     * 删除查询代码生成基础配置
     */
    void delete(List<CodeGenerateParam> codeGenerateParamList);

    /**
     * 编辑查询代码生成基础配置
     */
    void edit(CodeGenerateParam codeGenerateParam);

    /**
     * 查看查询代码生成基础配置
     */
    CodeGenerate detail(CodeGenerateParam codeGenerateParam);

    /**
     * 查询当前数据库用户下的所有表
     */
    List<InformationResult> InformationTableList ();

    /**
     * 本地生成代码
     */
    void runLocal(CodeGenerateParam codeGenerateParam);

    /**
     * 下载zip方式
     */
    void runDown(CodeGenerateParam codeGenerateParam, HttpServletResponse response);
}
